﻿using MySystemSetup.IRole.Dto;
using MySystemSetup.IRolePremission.Dto;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using TodoApp.Dto;
using Volo.Abp.Application.Services;
using Volo.Abp.Uow;

namespace MySystemSetup.IRole
{
    public interface IRoleInfoAppService : IApplicationService
    {


        /// <summary>
        /// 分页显示质检
        /// </summary>
        /// <param name="page">当前页</param>
        /// <param name="limit">页容量</param>
        /// <param name="rName">用户名</param>
        /// <returns>统一返回格式</returns>

        Task<SzrApiPageResult<RoleShowDto>> GetRoleList(int page, int limit, string? rName);

        /// <summary>
        /// 删除角色
        /// </summary>
        /// <param name="rId">角色编号</param>
        /// <returns>同意返回格式</returns>

        Task<SzrApiResult<RoleShowDto>> DeleteRoleAsync(int rId, string? UId);


        /// <summary>
        /// 获取角色等级枚举
        /// </summary>
        /// <returns>统一返回格式</returns>
        Task<SzrApiResult<RoleShowDto>> GetEnumRoleGrade();

        /// <summary>
        /// 添加角色
        /// </summary>
        /// <param name="dto">要添加的实体</param>
        /// <returns>统一返回格式</returns>

        Task<SzrApiResult<RoleAddDto>> AddRole66666Async(RoleAddDto dto);

        /// <summary>
        /// 查询所有角色
        /// </summary>
        /// <returns>统一返回格式</returns>

        Task<SzrApiResult<RoleShowDto>> GetRoleListAllAsync(string perId);



        /// <summary>
        /// 查询改用户可添加的角色
        /// </summary>
        /// <returns>统一返回格式</returns>

        Task<SzrApiResult<RoleShowDto>> GetRoleUserAllAsync(string uId);
    }
}
